# *args 多余参数 存为 元组  , **kwargs 将不存在的参数，存为字典

# def add(a,b,c,d,e):
#     print(a+b+c+d+e)
# res_list = [5,11,22,33,55]
# add(*res_list) # * 拆包  *res_list  add(5,11,22,33,55)


def add2(a, b, c):
    print(a + b + c)


res = {'a': 10, 'b': 20, 'c': 30}
add2(**res)  # a=10,b=20,c=30 add2(a=10,b=20,c=30)


# 定义函数 参数 不定长参数，在调用函数，如果有多余的参数，全部传递给 args

# **kwargs 接收 多余的参数，但是必须以 关键字 传递
def test3(name, *args, **kwargs):
    print(name)
    print(args)
    print(kwargs)

# test3('张三',1,2,34,age=18,nation='汉族')


# def test(*args):
#     print(f'传递进来的参数是{args}')
#
# def test2(a,b,*args):
#     print(a)
#     print(b)
#     print(args)
#
# test2(1,3,6,7,8,9,0)
